home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sprite 1984 - 1993
/
Sprite 1984 - 1993.iso
/
src
/
lib
/
c
/
gnulib
/
sun4.md
/
divide.s
< prev
next >
Wrap
Text File
|
1989-09-24
|
4KB
|
181 lines
.text
.globl .udiv
.globl .div
.udiv:
ba L0x24
clr %g1
.div:
orcc %o1, %o0, %g0
bge L0x24
xor %o1, %o0, %g1
L0xc: orcc %g0, %o1, %g0
L0x10: bge L0x20
L0x14: orcc %g0, %o0, %g0
L0x18: bge L0x24
L0x1c: sub %g0, %o1, %o1
L0x20: sub %g0, %o0, %o0
L0x24: orcc %o1, %g0, %o5
L0x28: bne L0x38
L0x2c: mov %o0, %o3
L0x30: ba L0x2a0
L0x34: nop
L0x38: cmp %o3, %o5
L0x3c: blu L0x28c
L0x40: clr %o2
L0x44: sethi %hi(0x8000000), %g2
L0x48: cmp %o3, %g2
L0x4c: blu L0xe8
L0x50: clr %o4
L0x54: cmp %o5, %g2
L0x58: bgeu L0x8c
L0x5c: mov 0x1, %g3
L0x60: sll %o5, 0x4, %o5
L0x64: ba L0x54
L0x68: add %o4, 0x1, %o4
L0x6c: addcc %o5, %o5, %o5
L0x70: bgeu L0x8c
L0x74: add %g3, 0x1, %g3
L0x78: sll %g2, 0x4, %g2
L0x7c: srl %o5, 0x1, %o5
L0x80: add %o5, %g2, %o5
L0x84: ba L0xa0
L0x88: sub %g3, 0x1, %g3
L0x8c: cmp %o5, %o3
L0x90: blu L0x6c
L0x94: nop
L0x98: be L0xa0
L0x9c: nop
L0xa0: subcc %g3, 0x1, %g3
L0xa4: bl L0x278
L0xa8: nop
L0xac: sub %o3, %o5, %o3
L0xb0: mov 0x1, %o2
L0xb4: ba,a L0xd8
L0xb8: sll %o2, 0x1, %o2
L0xbc: bl L0xd0
L0xc0: srl %o5, 0x1, %o5
L0xc4: sub %o3, %o5, %o3
L0xc8: ba L0xd8
L0xcc: add %o2, 0x1, %o2
L0xd0: add %o3, %o5, %o3
L0xd4: sub %o2, 0x1, %o2
L0xd8: subcc %g3, 0x1, %g3
L0xdc: bge L0xb8
L0xe0: orcc %g0, %o3, %g0
L0xe4: ba,a L0x278
L0xe8: sll %o5, 0x4, %o5
L0xec: cmp %o5, %o3
L0xf0: bleu L0xe8
L0xf4: addcc %o4, 0x1, %o4
L0xf8: be L0x28c
L0xfc: sub %o4, 0x1, %o4
L0x100: orcc %g0, %o3, %g0
L0x104: sll %o2, 0x4, %o2
L0x108: bl L0x1c4
L0x10c: srl %o5, 0x1, %o5
L0x110: subcc %o3, %o5, %o3
L0x114: bl L0x170
L0x118: srl %o5, 0x1, %o5
L0x11c: subcc %o3, %o5, %o3
L0x120: bl L0x14c
L0x124: srl %o5, 0x1, %o5
L0x128: subcc %o3, %o5, %o3
L0x12c: bl L0x140
L0x130: srl %o5, 0x1, %o5
L0x134: subcc %o3, %o5, %o3
L0x138: ba L0x278
L0x13c: add %o2, 0xf, %o2
L0x140: addcc %o3, %o5, %o3
L0x144: ba L0x278
L0x148: add %o2, 0xd, %o2
L0x14c: addcc %o3, %o5, %o3
L0x150: bl L0x164
L0x154: srl %o5, 0x1, %o5
L0x158: subcc %o3, %o5, %o3
L0x15c: ba L0x278
L0x160: add %o2, 0xb, %o2
L0x164: addcc %o3, %o5, %o3
L0x168: ba L0x278
L0x16c: add %o2, 0x9, %o2
L0x170: addcc %o3, %o5, %o3
L0x174: bl L0x1a0
L0x178: srl %o5, 0x1, %o5
L0x17c: subcc %o3, %o5, %o3
L0x180: bl L0x194
L0x184: srl %o5, 0x1, %o5
L0x188: subcc %o3, %o5, %o3
L0x18c: ba L0x278
L0x190: add %o2, 0x7, %o2
L0x194: addcc %o3, %o5, %o3
L0x198: ba L0x278
L0x19c: add %o2, 0x5, %o2
L0x1a0: addcc %o3, %o5, %o3
L0x1a4: bl L0x1b8
L0x1a8: srl %o5, 0x1, %o5
L0x1ac: subcc %o3, %o5, %o3
L0x1b0: ba L0x278
L0x1b4: add %o2, 0x3, %o2
L0x1b8: addcc %o3, %o5, %o3
L0x1bc: ba L0x278
L0x1c0: add %o2, 0x1, %o2
L0x1c4: addcc %o3, %o5, %o3
L0x1c8: bl L0x224
L0x1cc: srl %o5, 0x1, %o5
L0x1d0: subcc %o3, %o5, %o3
L0x1d4: bl L0x200
L0x1d8: srl %o5, 0x1, %o5
L0x1dc: subcc %o3, %o5, %o3
L0x1e0: bl L0x1f4
L0x1e4: srl %o5, 0x1, %o5
L0x1e8: subcc %o3, %o5, %o3
L0x1ec: ba L0x278
L0x1f0: add %o2, -0x1, %o2
L0x1f4: addcc %o3, %o5, %o3
L0x1f8: ba L0x278
L0x1fc: add %o2, -0x3, %o2
L0x200: addcc %o3, %o5, %o3
L0x204: bl L0x218
L0x208: srl %o5, 0x1, %o5
L0x20c: subcc %o3, %o5, %o3
L0x210: ba L0x278
L0x214: add %o2, -0x5, %o2
L0x218: addcc %o3, %o5, %o3
L0x21c: ba L0x278
L0x220: add %o2, -0x7, %o2
L0x224: addcc %o3, %o5, %o3
L0x228: bl L0x254
L0x22c: srl %o5, 0x1, %o5
L0x230: subcc %o3, %o5, %o3
L0x234: bl L0x248
L0x238: srl %o5, 0x1, %o5
L0x23c: subcc %o3, %o5, %o3
L0x240: ba L0x278
L0x244: add %o2, -0x9, %o2
L0x248: addcc %o3, %o5, %o3
L0x24c: ba L0x278
L0x250: add %o2, -0xb, %o2
L0x254: addcc %o3, %o5, %o3
L0x258: bl L0x26c
L0x25c: srl %o5, 0x1, %o5
L0x260: subcc %o3, %o5, %o3
L0x264: ba L0x278
L0x268: add %o2, -0xd, %o2
L0x26c: addcc %o3, %o5, %o3
L0x270: ba L0x278
L0x274: add %o2, -0xf, %o2
L0x278: subcc %o4, 0x1, %o4
L0x27c: bge L0x104
L0x280: orcc %g0, %o3, %g0
L0x284: bl,a L0x28c
L0x288: sub %o2, 0x1, %o2
L0x28c: orcc %g0, %g1, %g0
L0x290: bl,a L0x298
L0x294: sub %g0, %o2, %o2
L0x298: jmp %o7 + 0x8
L0x29c: mov %o2, %o0
L0x2a0: ta 0x2
L0x2a4: jmp %o7 + 0x8
L0x2a8: clr %o0